setTimeout(() => {
    console.log('set1')
    new Promise((resolve, reject) => {
        console.log('pr1')
        resolve()
    }).then(() => {
        console.log('then1')
    })
})
setTimeout(() => {
    console.log('set2')
})
new Promise((resolve, reject) => {
    console.log('pr2')
    resolve()
}).then(() => {
    console.log('then2')//4
})
new Promise((resolve, reject) => {
    console.log('pr3')
    setTimeout(() => {
        console.log('set3')
    })
    resolve()
}).then(() => {
    console.log('then3')
})
console.log(1)
// pr2 pr3 1 then2 then3 set1 pr1 then1 set2  set3
